package com.wy.project.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.*;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Author: wysk.
 * @Date: 2021/1/25
 * @Description:  历史功能需求模块
 **/
@Data
@Entity
public class HisPdInfoReqsModule implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键自增
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(columnDefinition = "int(11) comment'主键自增'")
    private Integer id;

    /**
     * 业务标识
     */
    @TableId(type = IdType.ASSIGN_ID)
    @TableField(fill = FieldFill.INSERT)
    @Column(columnDefinition = "varchar(40) comment'业务标识'")
    private String code;

    /**
     * 创建时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Column(columnDefinition = "timestamp comment'创建时间'")
    private Date createTime;

    /**
     * 修改时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @Column(columnDefinition = "timestamp comment'修改时间'")
    private Date updateTime;

    /**
     * 是否删除:  1:删除  2:未删除
     */
    @Column(columnDefinition = "smallint(2) comment'是否删除: 1:删除 2:未删除'")
    private Integer delete;

    /**
     * 功能需求模块的名称
     */
    @Column(columnDefinition = "varchar(40) comment'功能需求模块的名称'")
    private String name;

    /**
     * 功能需求模块描述
     */
    @Column(columnDefinition = "varchar(40) comment'功能需求模块描述'")
    private String des;

    /**
     * 版本号
     */
    @Column(columnDefinition = "int(11) comment'版本号'")
    private Integer version;

    /**
     * 历史产品基本信息的标识
     */
    @Column(columnDefinition = "varchar(40) comment'历史产品基本信息的标识'")
    private String hisProductInfoCode;

    /**
     * 历史产品需求
     */
    @Transient
    @TableField(exist = false)
    private List<HisPdInfoReqs> hisPdInfoReqs;

}
